The term “virtual desktop infrastructure” (VDI) refers to a system that, among other things, uses a remoting protocol to connect a client device over a network to a remote desktop running on a server system (e.g., a host). The term “remote desktop” or “desktop” refers to an instance of an operating system or application that runs remotely to the user, e.g., on the server system in a remote datacenter. One aspect of a remote desktop is its graphical user interface (GUI), which is displayed on the client device. As the remote desktop runs on the server system, the content (and hence the appearance) of its GUI may change in response various factors including input from the client device (i.e., mouse clicks) or changes caused by an application running in the remote desktop on the server system (e.g., streaming video applications). These changes in the remote desktop's appearance are transmitted by the server system as image content to the client device using a remoting protocol, such as the remote desktop protocol (RDP), PC-over-IP protocol, virtual network computing (VNC) protocol, or the like. The client device then displays the image content as a client view of the remote desktop.
One aspect of assessing the performance of a virtual desktop deployment is understanding the quality of the end-user experience. This quality will depend on, for example, the amount of latency a user perceives as he/she is interacting with his/her desktop. A client view of a window moving in the remote desktop can be jittery or intermittent in an unstable network environment because there may be high latency when a server receives input from the client to update the position of the window and also high latency when the server transmits an updated position of the window to the client device. Understanding this quality is particularly important in large scale (e.g., enterprise) deployments since users in these deployments typically connect to their desktops under a variety of different network conditions, and since a particular server system may host many (e.g., tens, hundreds, or more) desktops that share server resources. Both of these factors (varying network conditions and high desktop-to-server consolidation ratio) increase the likelihood that users will experience poor performance at some point during their remote desktop sessions.